-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added backports to procedure #75
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nicely done @Alopalao, great to have this doc consolidated. Left some minor suggestions, and there's one main point regarding e2e we need to handle as a pre-requisite, check it out below.
procedures/prs.md
Outdated
|
||
Backports are necessary to keep old versions updated. When it is agreed to apply changes to released deployments, it is done for two main reasons: | ||
- Bugs found: If a bug is found in an older deployment, it is necessary to address issues like this so as not to interrupt production scenarios. | ||
- New required features: Some features can be desired to be in older versions so it is easier to interact with Kytos. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- New required features: Some features can be desired to be in older versions so it is easier to interact with Kytos. | |
- New required features: Exceptionally, in certain cases, some features can be desired to be in older versions so it is easier to interact with Kytos. |
Aldo, can you emphasize that backporting features are only to be meant in exceptional circumstances? We only make this exception when indeed production can't still upgrade and then we weigh the effort. Otherwise, the recommendation is to upgrade to a newer version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added
procedures/prs.md
Outdated
- Create and push a new base branch incrementing the patch version `base/20XX.2.1` (only a core dev or maintainer can push a branch upstream, if such titles are needed do not hesitate to request them). | ||
- Create another branch `release/20XX.2.1` from `base/20XX.2.1`. | ||
- Create a pull request (PR) and target the branch `base/20XX.2.1`. New changes will be first in `release/20XX.2.1` and will get merged to `base/20XX.2.1`. | ||
- After the PR is closed, make sure to delete `release/20XX.2.1` branch. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- After the PR is closed, make sure to delete `release/20XX.2.1` branch. | |
- After the PR is closed, make sure to delete `release/20XX.2.1` branch (most kytos-ng org repos will auto delete it). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added parenthesis information
|
||
- Find the latest version, e.g. `20XX.2.0`, then checkout that tag `20XX.2.0`. | ||
- Create and push a new base branch incrementing the patch version `base/20XX.2.1` (only a core dev or maintainer can push a branch upstream, if such titles are needed do not hesitate to request them). | ||
- Create another branch `release/20XX.2.1` from `base/20XX.2.1`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you also add a paragraph explaining how to git cherry-pick
?
- You should use
git cherry-pick <sha1>
to pick the commits being backported. The only exception not to cherry-pick is when the original commit has extra unwanted code, in that case, copy the desired parts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added it.
procedures/prs.md
Outdated
|
||
### Final observations. | ||
|
||
PR created for a previous version does not run automatic tests so make sure to run unit tests and end-to-end tests to assure that the changes are safe to be merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright, let's also make unit tests mandatory for backports but only running locally on tox, for e2e tests check out the discussion here #48 (comment), e2e tests definitely needs to be run, but before we ask for it too, our https://github.com/kytos-ng/kytos-end-to-end-tests test suites need to also have compatibility versions too such as 2023.2, 2024.1 and so on, and needs to be bumped with the final release too, just so older tests still pass, since newer ones might or might not be fully compatible. So, we need to also map that effort and make sure that part is ready for 2023.2 and 2024.1 if we'll ask for it, can you take a lead on this and map an issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Issue created, kytos-ng/kytos-end-to-end-tests#340
Closes #48
Summary
Added Backport to procedure with some examples.
Local Tests
N/A
End-to-End Tests
N/A